package com.candy.service;

import com.candy.dao.DBDriver2;

import java.util.LinkedHashMap;
import java.util.LinkedList;

/**
 * 用户信息管理
 */
public class UserInfoService {
    /**
     * 查询全部用户信息
     * @param username 用户名
     * @return 匹配用户输入条件的用户信息
     */
    public LinkedList<LinkedHashMap<String,Object>> getUserInfo(String username){
//       如果用户进行搜索条件输入
        if(username!=null  && username!=""){
//            根据用户名进行模糊查询
            return DBDriver2.query4ListMap("select * from userinfo where username like ?","%"+username+"%");
        }else {
//            若用户没有输入，则查询全部
            return DBDriver2.query4ListMap("select * from userinfo");
        }
    }

    /**
     * 用户信息新增操作
     * @param username 用户名
     * @param userpwd 用户密码
     * @param useraddress 家庭住址
     * @param usertel 联系方式
     * @return 影响行数
     */
    public int inserUserInfo(String username,String userpwd,String useraddress,String usertel){
        return DBDriver2.update("INSERT INTO userinfo(username,userpwd,useraddress,usertel) VALUES(?,?,?,?)",username,userpwd,useraddress,usertel);
    }

    /**
     * 根据用户id查询用户信息
     * @param userid 用户的id值
     * @return 对应该id获取的用户信息
     */
    public LinkedList<LinkedHashMap<String,Object>> getUserInfoById(int userid){
        return DBDriver2.query4ListMap("select * from userinfo where id=?",userid);
    }

    /**
     * 修改用户信息
     * @param username 用户名
     * @param userpwd 密码
     * @param useraddress 家庭住址
     * @param usertel 联系方式
     * @param userId 用户id
     * @return 影响行数
     */
    public int updateUserInfo(String username,String userpwd,String useraddress,String usertel,int userId){
        return DBDriver2.update("update userinfo set username=?,userpwd=?,useraddress=?,usertel=? where id=?",username,userpwd,useraddress,usertel,userId);
    }

    /**
     * 删除用户信息
     * @param userId 用户的主键id
     * @return 影响行数
     */
    public int deleteUserInfo(int userId){
        return DBDriver2.update("delete from userinfo where id=?",userId);
    }


}
